package com.landscope.issue.controller.api.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * 监测变化数据
 * @author qzp
 * @version v1.0
 * @date 2021/8/2 19:19
 **/
@Data
public class MonitorDataDto {
    @ApiModelProperty("台站对名称，如：R01监测变化")
    private String name;
    @ApiModelProperty("台站对，如：R01")
    private String gstacalName;
    @ApiModelProperty("台站对名称描述，如：监测变化")
    private String nameDes;
    @ApiModelProperty("开始时间，格式yyyy-MM-dd")
    private String startDate;
    @ApiModelProperty("结束时间，格式yyyy-MM-dd")
    private String endDate;
    @ApiModelProperty("x坐标轴数据列表，包含元素为X轴日期字符串，按照日期升序排列，如：[\"03.01\",\"03.02\"]")
    private List<String> xData;

    @ApiModelProperty("台站对列表，包含元素为台站对名称字符串，如：[\"R01监测变化\",\"R02监测变化\"]")
    private List<String> gstacalList; // 台站对列表

    @ApiModelProperty("台站对列表-名字分开,如：[{\"staName\":\"R01\",\"nameDes\":\"监测变化\"}]")
    private List<Map<String, String>> gstacalListNameAndDes; // 台站对列表

    @ApiModelProperty("y轴vvig波速变化数据(%)")
    private MonitorYData vvig;
    @ApiModelProperty("y轴kdig微裂隙变化数据(%)")
    private MonitorYData kdig;

    @Data
    public static class MonitorYData{
        @ApiModelProperty("数据单位，目前暂不需要,直接忽略，根据文档中字段描述的单位来写")
        private String unit;
        @ApiModelProperty("y轴数据，包含元素为Y轴数值字符串，按照日期升序排列，如：[\"31.4\",\"32.5\"]")
        private List<String> yData;
    }
}
